/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fr.sorbonne.inf5.yams.model;

/**
 *Cette classe modélise une face numérique, aussi bien pour un dé, des cartes
 * @author Oukherfellah Riad
 * @author Dubos Romain
 */
public class FaceNumerique implements InterfaceFace{

    private Integer face;

    /**
     * Attribue la valeur en paramètre à la face
     * @param face valeur qui sera donnée en paramètre
     */
    public FaceNumerique(int face){
        this.face = face;
    }

    /**
     * Crée une nouvelle face avec la valeur un par défaut
     */
    public FaceNumerique(){
        this.face = 1;
    }

     /**
     * Retourne un Object IFace représentant la valeur de la face
     * @return représente la valeur de la face
     */
    public Object retournerFace() {
        return this.face;
    }

    @Override
    public String toString(){
        return face.toString();
    }

    @Override
    public boolean equals(Object o){
        if(o!=null && o instanceof FaceNumerique){
            FaceNumerique faceTmp = (FaceNumerique)o;
            return this.face.equals(faceTmp.retournerFace());
        }
        return false;
    }

    @Override
    public int hashCode(){
        return this.face.hashCode();
    }
}
